home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / INTERNET / ACORNET / FREENET-STACK / ACRNET22 / PPP / !ReadMe < prev    next >
Text File  |  1997-06-29  |  13KB  |  290 lines

  1. PPPdriver (1.16) - PPP driver for FreeNet 1.XX
  2.  
  3. NOTE: this program is SHAREWARE. Read the 'Licence' file for more info.
  4.  
  5. PPP is a network protocol that allows two computers to exchange IP packets
  6. over serial lines. It is used by most Internet providers to allow remote
  7. computers to connect to Internet via a modem dialup.
  8.  
  9. PPPdriver allows the FreeNet (1.XX) TCP/IP stack to communicate with remote
  10. hosts using serial lines. PPPdriver conforms to the DCI2 specification: this
  11. means that it will work with the versions of FreeNet older than 2.00 (such as
  12. 1.02) but doesn't work with Acorn TCP/IP stack or with FreeNet 2.00 or later
  13. (that are DCI4-compatible).  A DCI4-compatible PPPdriver is available as a
  14. separate package. 
  15.  
  16. This DCI2 version of PPPdriver is no longer developed since a DCI4 version of
  17. FreeNet is finally available (version 2.00 or later) and Acorn includes its
  18. own DCI4 Internet stack in RISC OS 3.60 or later.
  19.  
  20. Since PPPdriver is a rather plain port of the Unix pppd command and supports
  21. the same command line interface, the documentation for PPPdriver will be
  22. limited, refer to the pppd manual (supplied in the 'pppd_man' file) for more
  23. detailed informations of the pppd syntax, authentication and routing.
  24.  
  25.  
  26. Index
  27. -----
  28.  
  29. - Installing
  30. - Commands provided
  31. - PPP files
  32. - Connecting to an Internet provider
  33. - SLIP vs PPP
  34. - Disclaimer
  35. - Known bugs
  36. - Limitation of the ShareWare version
  37. - Upgrades
  38. - Contacting the Author
  39.  
  40.  
  41. Installing
  42. ----------
  43.  
  44. The !Installer program deals with the installation of PPPdriver. Before
  45. running it you should install an Internet stack (ie. load !Acornet or open a
  46. directory containing !FreeNet) so that PPPdriver can be installed in the
  47. proper directory depending on the stack used. 
  48.  
  49. In any case PPPdriver will be installed in !FreeNet.Drivers. !Installer will
  50. also create a directory called 'PPP' in !FreeUser.Files.
  51.  
  52. If an old version of PPPdriver is already installed, !Installer will rename
  53. it to 'PPPdrvOLD' while an eventual 'PPP' directory will be renamed to
  54. 'OLD_PPP'.
  55.  
  56. If you are using a dialer program (eg. FreeDial) it will probably deal with
  57. the loading of PPPdriver. Otherwise, if you want to load PPPdriver yourself
  58. you need to RMRun it, eg:
  59.  
  60. RMRun FreeNet:Drivers.PPPdriver 1500
  61.  
  62. The number specified in this command is the MTU (ie. the largest packet size
  63. that will be sent), 1500 is the default value.
  64.  
  65.  
  66. Commands provided
  67. -----------------
  68.  
  69. PPPdriver provides 4 commands: pppd, pppstats, pppkill and pppreopen.
  70.  
  71. *pppd
  72.  
  73. This is the most important command since it deals with the setup of a PPP
  74. connection. pppd works like Unix's pppd (with a few restrictions and
  75. changes), refer to the pppd manual for a full documentation.
  76. Unlike its Unix counterpart (that requires a tty name and speed), RISC OS
  77. pppd accepts the name of the serial driver, the port number and the speed
  78. (just like SLIPdriver).
  79.  
  80. PPP is an 'intelligent' protocol, it negotiates all the options between the
  81. two connecting hosts in order to deal with different setups and requirements.
  82. This means that usually the command required to connect to an Internet
  83. provider is just:
  84. pppd modem defaultroute noipdefault <Driver> <Port> <Speed>
  85. - 'modem' means that PPPdriver will use modem control lines (Carrier Detect,
  86.   Data Terminal Ready) and hardware flow control (RTS/CTS)
  87. - 'defaultroute' causes PPPdriver to set the default route to the remote host
  88.   (ie it automatically execute a "route add default <RemoteIP> 1" command)
  89. - 'noipdefault' means that PPPdriver will ask the local IP address to the
  90.   remote host (this is needed for dynamically allocated IP addresses but
  91.   should also work for fixed IP addresses)
  92.  
  93. Note that PPPdriver, unlike SLIPdriver, doesn't need any "ifconfig" or "route
  94. add" command since pppd automatically executes them once the IP negotiation
  95. is done.
  96.  
  97. If your provider requires PAP authentication you need to use something like:
  98. pppd modem defaultroute noipdefault user <Username> pwd <Password> <Driver> <Port> <Speed>
  99.  
  100. If you need to specify your IP address or the remote IP address:
  101. pppd modem defaultroute noipdefault <LocalAddr>:<RemoteAddr> <Driver> <Port> <Speed>
  102. You can omit <RemoteAddr> or <LocalAddr> if you just need one of the two.
  103.  
  104. Other useful parameters:
  105. - 'local' is the opposite of 'modem' (ie don't use hardware flow control and
  106.   modem control lines). It can be used if you need to connect two computers
  107.   using a very simple nullmodem cable with just the send and receive line.
  108. - 'asyncmap 0' can be used to prevent PPP from sending control characters as
  109.   a two-character escape sequence. You should only need this option if you
  110.   are connecting together two computers using a nullmodem cable.
  111. - 'passive' prevents PPP from closing the connection if the remote host
  112.   doesn't reply to the negotiation packets. This can be used if you want to
  113.   try a PPP connection and eventually keep PPP listening if the remote host
  114.   isn't ready.
  115. - 'silent' is similar to 'passive' but doesn't even initiates a connection
  116.   (ie PPP will just wait to receive some valid negotiation packet)
  117. - 'debug' causes PPPdriver to print a lot of extra debug informations in the
  118.   debug file (see 'PPP files' below). You should only use this parameter if
  119.   PPPdriver fails the negotiation process; in fact it will log every packet
  120.   sent and received, so the debug file will grow very quickly.
  121.  
  122. If you need some esoteric pppd parameter you can have a look at the pppd
  123. manual. Note that the following commands are not implemeted because they are 
  124. very Unix-specific: connect, disconnect, file, lock, detach, kdebug, login.
  125. The configuration files (/etc/ppp/options and ~/.ppprc) mentioned in the pppd
  126. manual are not implemeted, while the files stored (under Unix) in /etc/ppp
  127. (eg ip-up) are stored (under RISC OS) in the InetDBase:PPP directory (ie
  128. !FreeUser.Files.PPP, usually). Finally, the 'pwd' parameter (used to specify
  129. the PAP password) available in the RISC OS version is not available under
  130. Unix; if you want you can use the 'pap-secr' file as in Unix although this is
  131. not recommended nor useful.
  132.  
  133. *pppstats
  134.  
  135. This command shows some statistics about the PPP connections. The only
  136. parameter accepted by 'pppstats' is 'all' that allows more statistics to be
  137. displayed.
  138. You can use this command to monitor the efficiency of the BSD Compression (if
  139. it is used) and the quality of the serial line. When the serial line doesn't
  140. lose any packet the "receive parity errors", "receive framing errors",
  141. "unknown types received" and "input packets tossed" figures should be 0.
  142.  
  143. *pppkill
  144.  
  145. To close an active connection you should use the 'pppkill <ppp unit>' command
  146. (eg. 'pppkill 0' if you want to close the first connection). PPPdriver will
  147. then send the 'connection closed' packets to the remote host and drop the
  148. connection. An alternative way to close all the PPP connections is to 'RMKill
  149. PPPdriver' although this is a very rough and not recommended method!
  150.  
  151. To close an active connection you should use the 'pppkill <ppp unit>'
  152. command. PPPdriver will then send the 'connection closed' packets to the
  153. remote host and drop the connection. An alternative way to close all the PPP
  154. connections is to 'RMKill PPPdriver' although this is a very rough and not
  155. recommended method!
  156.  
  157. *pppreopen
  158.  
  159. This command is only useful if BSD Compression is used and forces PPPdriver
  160. to restart the compression negotiation. This can be useful if the compression
  161. has been disabled due to some failures (eg packets lost due to serial line
  162. failures) but should not be used otherwise; to detect this case you should
  163. try the 'pppstats' command, if it says "BSD Compression (currently disabled)"
  164. you could try to reenable it using 'pppreopen'.
  165.  
  166.  
  167. PPP files
  168. ---------
  169.  
  170. PPPdriver prints some information about the connection in the file
  171. !FreeUser.DebugFile. Unless you specify the 'debug' flag on the 'pppd'
  172. command line (see above) it just prints a few informations once the
  173. connection is established, otherwise it prints much more debug messages,
  174. including the dump of every sent and received packet.
  175. This file may grow larger and larger, especially if the system crashes (or
  176. you reset it) while PPPdriver is loaded; you must always "RMKill PPPdriver"
  177. before turning the computer off! If everything is working fine you should
  178. delete this file regularly, but if PPPdriver fails the negotiation process 
  179. or if you notice something strange (eg excessively slow or often dropped
  180. connections, incorrect routing, etc.) you should send this file to me so that
  181. I could hopefully find the cause of your problems.
  182.  
  183. PPPdriver uses the !FreeUser.Files.PPP directory to store the 'ip-up' and
  184. 'ip-down' files; they are run, rispectively, when the connection is
  185. established and when it is dropped. The 'PPP' directory distributed with the
  186. PPPdriver archive contains two BASIC files that produce a sound, so you can
  187. 'hear' when the negotiation process is finished and the connection is active.
  188. You can modify them as you like, for example you can make 'ip-up' load some
  189. application (a WWW browser, maybe); I don't recommend you to 'RMKill' any
  190. Internet-related module (eg FreeNet, INetDB or PPPdriver itself) from the
  191. 'ip-down' script because this may cause some unpredictable result.
  192.  
  193. When you use the '!Installer' program to register your copy of PPPdriver, it
  194. will create a file called !FreeUser.Files.PPP.register. This file will
  195. contain your personal username and usercode, so you should not distribute it
  196. alongside your !FreeUser directory! For more informations about registering
  197. read the 'Licence' file.
  198.  
  199.  
  200. Connecting to an Internet provider
  201. ----------------------------------
  202.  
  203. To connect to an internet provider I suggest you to use the FreeWare
  204. application FreeDial (by Gert-Jan de Vos). It is very easy to configure and
  205. includes a few scripts to run either SLIP or PPP with a number of providers.
  206. Alternatively you could use SLIPdial or any other dialer, although I will not
  207. be really helpful if you have problems with them (while I actively support
  208. FreeDial when used in conjunction with PPPdriver).
  209.  
  210.  
  211. SLIP vs PPP
  212. -----------
  213.  
  214. Many people may wonder whether PPP is better than SLIP. PPP is more complex
  215. than SLIP and is used in situations where SLIP isn't suitable, but if you
  216. just need a protocol to connect your computer to Internet and your Provider
  217. supports CSLIP (ie Van Jacobson compression of TCP headers over SLIP), then
  218. PPP and SLIP will have the same performance.
  219. SLIP may be more difficult to configure when dealing with dynamic IP (because
  220. you need to get your IP in the connection script while pppd deals with
  221. dynamic IP automatically) but once the configuration script has been written
  222. SLIP and PPP works in the same way.
  223. PPPdriver supports BSD Compression (ie every packet is compressed using the
  224. LZW scheme), if your provider supports it you may have some speed improvement
  225. over SLIP; remember that most modems automatically compress the data too, so
  226. BSD Compression may not give you any significant improvement in this case.
  227. When using a simple wire to connect two computers, BSD Compression may be
  228. really helpful (depending, of course, on the sort of data being transferred).
  229.  
  230.  
  231. Disclaimer
  232. ----------
  233.  
  234. PPPdriver has been tested and proved to be a stable and reliable program.
  235. However, if for any reason (either your mistake or a bug in PPPdriver) it
  236. causes you a loss of data, I am sorry for you but I WILL NOT BE HELD
  237. RESPONSIBLE.
  238.  
  239. Use PPPdriver at your own risk.
  240.  
  241.  
  242. Known bugs
  243. ----------
  244.  
  245. The bug related to corrupted output (in 'pppstats' or when PPPdriver was
  246. RMKilled) seems to be definitely fixed. If you still suffer from these
  247. problems please inform me.
  248.  
  249. Please report any bug to me, possibly sending the 'DebugFile' that PPPdriver
  250. creates in the !FreeUser directory (using the 'debug' option) and the output
  251. of the 'pppstats' command (if relevant). Note that this DCI2 version is no
  252. longer developed, you should try the DCI4 version if you can.
  253.  
  254.  
  255. Limitation of the ShareWare version
  256. -----------------------------------
  257.  
  258. In the unregistered version the connection time has been limited to (circa)
  259. 15 minutes. When this time expires PPPdriver sends the packets required to
  260. close the connection to the remote host and then closes down: in doing this,
  261. it doesn't produce any error message but prints a message in
  262. '!FreeUser.DebugFile'.
  263. The '!Installer' program can be used to register your copy: read the
  264. 'Licence' file for more informations about how to obtain your user name and
  265. user code.
  266.  
  267.  
  268. Upgrades
  269. --------
  270.  
  271. The latest version of PPPdriver is always available via WWW at:
  272. http://cdc8g5.cdc.polimi.it/~pel0015/pppdriver.html
  273. You will probably find it also at:
  274. ftp://ftp.dsse.ecs.soton.ac.uk/pub/Acorn/freenet/s.monesi/
  275.  
  276.  
  277. Contacting the Author
  278. ---------------------
  279.  
  280. Post:  Sergio Monesi
  281.        Via Trento e Trieste 30
  282.        20046 Biassono (MI)
  283.        Italy
  284.  
  285. EMail: msergio@tin.it
  286.        pel0015@cdc8g5.cdc.polimi.it
  287.        sergio@freebsd.first.gmd.de
  288.  
  289. WWW:   http://cdc8g5.cdc.polimi.it/~pel0015/
  290.